Developer(s) | |
---|---|
Initial release | February 2, 2010 |
Written in | C++, C |
Operating system | Cross-platform |
Type | Source code transformer |
License | Free software (PHP License) |
Website | http://wiki.github.com/facebook/hiphop-php/ |
HipHop for PHP is a source code transformer for PHP script code. HipHop programmatically transforms PHP source code into highly optimized C++ and then uses g++ to compile it to machine code. HipHop includes a code transformer, a reimplementation of PHP's runtime system, and a rewrite of many common PHP Extensions to take advantage of these performance optimizations.[1]
HipHop for PHP can substantially increase the speed of PHP applications. Improvements of web page generation throughput by factors of 2 to 6 have been observed.[2][3]
HipHop was created by Facebook to save resources on its servers. It is being distributed with its over 300,000 lines of source code written in C++ and C as free software under the terms of version 3.01 of the PHP License.
Facebook has also developed HPHPi, which is an experimental interpreter designed for development with no need to compile the PHP source code before running it.
Contents |
Initially, HipHop was developed at Facebook under the lead of Haiping Zhao on CentOS and Fedora systems. It had been under development for two years already when the release as free software under the PHP License was announced for 2 February 2010. Due to technical difficulties, Facebook slipped the release date by 18 days,[4][5] releasing on 20 February to the public Git repository.
HipHop for PHP is an open source project, available from GitHub under the open source PHP license.
HipHop currently supports PHP version 5.2 and will be updated to support 5.3.
HipHop has been developed on CentOS and Fedora; building on other operating systems may not work at present, although support may be added in the future. At present, HipHop can only run on 64-bit architectures.
HipHop is a considerable improvement for running PHP projects with a reduced memory footprint[6] and adding TBB's parallel_for to HipHop gives an even more considerable speed-up and a significant decrease in memory consumption.[7]
|
|